Component org.nuxeo.ecm.platform.video.tools.commandlines
In bundle org.nuxeo.ecm.platform.video.core
Contributions
XML Source
<component name="org.nuxeo.ecm.platform.video.tools.commandlines">
<require>org.nuxeo.ecm.platform.commandline.executor.service.defaultContrib</require>
<extension
target="org.nuxeo.ecm.platform.commandline.executor.service.CommandLineExecutorComponent"
point="command">
<command name="videoClosedCaptionsExtractor" enabled="true">
<commandLine>ccextractor</commandLine>
<parameterString>#{sourceFilePath} -out=#{outFormat} -trim -o #{outFilePath}
</parameterString>
<installationDirective>You need to install ccextractor.</installationDirective>
</command>
<command name="videoPartClosedCaptionsExtractor" enabled="true">
<commandLine>ccextractor</commandLine>
<parameterString>#{sourceFilePath} -out=#{outFormat} -startat #{startAt} -endat #{endAt} -trim -o #{outFilePath}
</parameterString>
<installationDirective>You need to install ccextractor.</installationDirective>
</command>
<command name="videoConcat" enabled="true">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -f concat -safe 0 -i #{listFilePath} -c copy #{outFilePath}</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- This one is very fast, but you may miss frames. Use it when you are sure you'll get the correct cut -->
<command name="videoSlicerByCopy" enabled="true">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -ss #{startAt} -t #{duration} -c copy #{outFilePath}</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- This on is the basic slicing. It re-encodes the video, so it it is slower than videoSlicerCopy -->
<command name="videoSlicer" enabled="true">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -ss #{startAt} -t #{duration} #{outFilePath}</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- This enables video slicing starting from the specific time -->
<command name="videoSlicerStartAt" enabled="true">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -ss #{startAt} #{outFilePath}</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- Slices in n segment of #duration each. outFilePath is an expression
(OUT%03d.mp4 for example) so ffmpeg creates one file/segment -->
<command name="videoSlicerSegments" enabled="true">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -map 0 -c copy -f segment -segment_time #{duration} -reset_timestamps 1
#{outFilePath}
</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- filterComplex is the full filter. For example: "overlay=10:10" -->
<command name="videoWatermarkWithPicture" enabled="true">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -i #{pictureFilePath} -filter_complex #{filterComplex} #{outFilePath}
</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
</extension>
</component>